home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 005 / morcost3.arc / MORTCOST.BAS next >
Encoding:
BASIC Source File  |  1986-08-23  |  19.6 KB  |  543 lines

  1. 80 SIZE=60
  2. 90 GOTO 110
  3. 100 CLS :RETURN :REM This is screen clear subroutine.  If program bombs on this line, see MORTCOST.DOC to correct this line for your computer. 
  4. 110 GOSUB 100
  5. 120 PRINT "M O R T C O S T                                                version 3.0":DIM LO(SIZE)
  6. 130 PRINT "                . . . a mortgage cost analysis tool."
  7. 140 PRINT 
  8. 150 PRINT "Gives you a fighting chance against the banks.  Shows you the total cost of
  9. 160 PRINT "different mortage plans, including the effects of taxes and inflation.  Helps
  10. 170 PRINT "you decide if you should refinance.  It also can handle flexible mortgages."
  11. 180 PRINT
  12. 190 PRINT "MORTCOST is user supported software.  If you find this program useful, please":DIM PO(SIZE)
  13. 200 PRINT "contribute to help offset our programming and distribution costs.  We simply"
  14. 210 PRINT "cannot keep the program current with tax law changes and add new features":DIM TEMP(SIZE)
  15. 220 PRINT "without this help.  As an incentive, payment of $10 or more entitles you to
  16. 230 PRINT "registration benefits.  Read MORTCOST.DOC for further details, restrictions on"
  17. 240 PRINT "commercial use, and instructions to make the best use of this program.  If you"
  18. 250 PRINT "find that MORTCOST isn't helpful, please pass it on to a friend."
  19. 260 PRINT 
  20. 270 PRINT "Send payment to:        Joann and Terry Quinn
  21. 280 PRINT "                        700 Fairoaks Road, RR #4
  22. 290 PRINT "                        Metamora, IL  61548 
  23. 300 PRINT
  24. 310 PRINT "Copyright 1986 by Joann and Terry Quinn
  25. 320 PRINT "(Hit the letter 'G' to start the program).
  26. 330 A$=INKEY$:IF A$="G" OR A$="g" THEN 340:ELSE 330
  27. 340 FOR IS=1 TO 6:PRINT:NEXT IS
  28. 350 B=0
  29. 360 DIM TA(SIZE),DI(SIZE),IN(SIZE),PR(SIZE),ZP(SIZE),PA(SIZE),P2(SIZE),Z4(SIZE)
  30. 370 DIM CY(SIZE),IL(SIZE),X1(SIZE),X2(SIZE),X3(SIZE),X4(SIZE),ZL(SIZE),ZT(SIZE),TX(SIZE),PP(SIZE),CO(SIZE)
  31. 390 PRINT
  32. 400 INPUT "ENTER AMORTIZATION PERIOD (LENGTH) OF LOAN IN YEARS"; KYEARS
  33. 410 IF INT(KYEARS)<>KYEARS OR KYEARS<=0 THEN PRINT "YEAR MUST BE A POSITIVE INTEGER . . . RETRY":GOTO 400
  34. 420 IF KYEARS > SIZE THEN PRINT "MAXIMUM ENTRY ="SIZE"    RE-ENTER":GOTO 400
  35. 430 KXYEARS = KYEARS + 1
  36. 440 IF B<>0 THEN 2220
  37. 480 PRINT
  38. 490 INPUT "ENTER AMOUNT OF LOAN (PRINCIPAL)  $",PR(0)
  39. 500 IF B<>0 THEN 2220
  40. 510 GOSUB 100
  41. 530 FOR J = 0 TO SIZE
  42. 540 LO(J) = 1E+06
  43. 550 NEXT J
  44. 560 PRINT "ENTER LOAN INTEREST RATE FOR FIRST YEAR"
  45. 570 INPUT "(For example, 11.5% would be entered as 11.5)  Enter here--> ",LO(1)
  46. 580 PRINT
  47. 590 PRINT
  48. 600 PRINT "IF INTEREST RATE CHANGES DURING LOAN PERIOD, ENTER THE YEAR THAT THE NEW RATE"
  49. 610 PRINT "STARTS AT AND THE NEW RATE.  NOTE:  FIRST YEAR OF LOAN IS YEAR 1."
  50. 620 PRINT "To skip to next input, type S for YEAR"
  51. 630 PRINT
  52. 640 INPUT "YEAR--> ", K$
  53. 650 IF K$ = CHR$(83) OR K$ = CHR$(115) THEN 720
  54. 660 K=VAL(K$)
  55. 670 IF INT(K)<>K OR K<=0 THEN PRINT "YEAR MUST BE A POSITIVE INTEGER, TRY AGAIN":GOTO 640
  56. 680 IF K>SIZE THEN PRINT "MAXIMUM ENTRY ="SIZE"    RE-ENTER":GOTO 640
  57. 690 INPUT "INTEREST RATE--> ", LO(K)
  58. 700 GOTO 640
  59. 710 PRINT
  60. 720 J=2
  61. 730 IF LO(J) = 1E+06 THEN LO(J) = LO (J-1)
  62. 740 IF J = SIZE THEN 770
  63. 750 J = J+1
  64. 760 GOTO 730
  65. 770 IF B<>0 THEN 2220
  66. 780 GOSUB 100
  67. 800 FOR J=0 TO SIZE
  68. 810 TA(J)=1E+06
  69. 820 NEXT J 
  70. 830 PRINT "ENTER YOUR CURRENT INCOME TAX BRACKET %-age (example: 25% --> 25 )"
  71. 840 INPUT "Enter S to skip if you do not want tax calculations--> ",K$
  72. 850 IF K$=CHR$(83) OR K$=CHR$(115) THEN TA(1)=0:GOTO 1000
  73. 860 TA(1)=VAL(K$)
  74. 870 IF TA(1)<1 AND TA(1)<>0 THEN PRINT:PRINT "RE-ENTER AS NON-DECIMAL":GOTO 830
  75. 880 PRINT "
  76. 890 PRINT "IF YOU THINK YOUR TAX BRACKET WILL CHANGE IN THE FUTURE, ENTER"
  77. 900 PRINT "THE YEAR AND NEW BRACKET.  Enter S for YEAR when finished."
  78. 910 PRINT "
  79. 920 INPUT "YEAR--> ", K$
  80. 930 IF K$ = CHR$(83) OR K$ = CHR$(115) THEN 1000
  81. 940 K=VAL(K$)
  82. 950 IF INT(K)<>K OR K<=0 THEN PRINT "YEAR MUST BE A POSITIVE INTEGER, TRY AGAIN":GOTO 920
  83. 960 IF K>SIZE THEN PRINT "MAXIMUM VALUE =    "SIZE   "RE-ENTER":GOTO 920
  84. 970 INPUT "TAX BRACKET--> ",TA(K)
  85. 980 IF TA(K)<1 AND TA(K)<>0 THEN PRINT "RE-ENTER AS NON-DECIMAL":GOTO 970
  86. 990 GOTO 920
  87. 1000 PRINT
  88. 1010 J=2
  89. 1020 IF TA(J)=1E+06 THEN TA(J) = TA(J-1)
  90. 1030 IF J =SIZE THEN 1060
  91. 1040 J=J+1
  92. 1050 GOTO 1020
  93. 1060 IF B<>0 THEN 2220
  94. 1070 GOSUB 100
  95. 1090 FOR J=0 TO SIZE
  96. 1100 PO(J)=0
  97. 1110 NEXT J
  98. 1120 PRINT "THIS INPUT IS FOR LOAN POINTS THAT CAN BE DEDUCTED FOR YEAR THEY ARE PAID"
  99. 1130 PRINT "Typically this would be for a new purchase or home improvement"
  100. 1140 PRINT
  101. 1150 PRINT "ENTER YEAR NO. & THE INTEREST 'POINTS' FOR THAT YEAR."
  102. 1160 PRINT "  EXAMPLE: 2.5% (2.5 'POINTS') IS ENTERED AS 2.5"
  103. 1170 PRINT
  104. 1180 PRINT "Enter S for year to skip this section or when finished entering data."
  105. 1190 PRINT
  106. 1200 INPUT "YEAR--> ", K$
  107. 1210 IF K$ = CHR$(83) OR K$ = CHR$(115) THEN 1270
  108. 1220 K=VAL(K$)
  109. 1230 IF INT(K)<>K OR K<=0 THEN PRINT "YEAR MUST BE A POSITIVE INTEGER, TRY AGAIN":GOTO 1200
  110. 1240 IF K>SIZE THEN PRINT "MAXIMUM VALUE =    "SIZE   "RE-ENTER":GOTO 1200
  111. 1250 INPUT "POINTS--> ",PO(K)
  112. 1260 GOTO 1200
  113. 1270 IF B<>0 THEN 2220
  114. 1280 GOSUB 100
  115. 1300 FOR J=0 TO SIZE
  116. 1310 P2(J)=0
  117. 1320 NEXT J
  118. 1330 PRINT "THIS INPUT IS FOR POINTS THAT MUST BE DEDUCTED OVER THE LENGTH OF THE LOAN"
  119. 1340 PRINT "Included would be points associated with refinancing an existing loan"
  120. 1350 PRINT
  121. 1360 PRINT "ENTER YEAR NO. & THE INTEREST 'POINTS' FOR YEAR THEY ARE PAID."
  122. 1370 PRINT "  EXAMPLE: 2.5% (2.5 'POINTS') IS ENTERED AS 2.5"
  123. 1380 PRINT
  124. 1390 PRINT "Enter S for year to skip this section or when finished entering data."
  125. 1400 PRINT
  126. 1410 INPUT "YEAR--> ", K$
  127. 1420 IF K$ = CHR$(83) OR K$ = CHR$(115) THEN 1480
  128. 1430 K=VAL(K$)
  129. 1440 IF INT(K)<>K OR K<=0 THEN PRINT "YEAR MUST BE A POSITIVE INTEGER, TRY AGAIN":GOTO 1410
  130. 1450 IF K>SIZE THEN PRINT "MAXIMUM VALUE =    "SIZE   "RE-ENTER":GOTO 1410
  131. 1460 INPUT "POINTS--> ",P2(K)
  132. 1470 GOTO 1410
  133. 1480 IF B<>0 THEN 2220
  134. 1490 GOSUB 100
  135. 1510 FOR J=0 TO SIZE
  136. 1520 DI(J)=0
  137. 1530 NEXT J
  138. 1540 PRINT "ENTER YEAR & NON-DEDUCTIBLE EXPENSES (DIRECT COSTS) OF LOAN IN DOLLARS."
  139. 1550 PRINT "EXAMPLES:  Appraisals, attorneys fees, recording costs, title insurance"
  140. 1560 PRINT
  141. 1570 PRINT "Enter S for YEAR when finished."
  142. 1580 PRINT
  143. 1590 INPUT "YEAR--> ", K$
  144. 1600 IF K$ = CHR$(83) OR K$ = CHR$(115) THEN 1660
  145. 1610 K=VAL(K$)
  146. 1620 IF INT(K)<>K OR K<=0 THEN PRINT "YEAR MUST BE A POSITIVE INTEGER, TRY AGAIN":GOTO 1590
  147. 1630 IF K>SIZE THEN PRINT "MAXIMUM VALUE =    "SIZE   "RE-ENTER":GOTO 1590
  148. 1640 INPUT "DIRECT LOAN COSTS-->  $",DI(K)
  149. 1650 GOTO 1590
  150. 1660 IF B<>0 THEN 2220
  151. 1670 GOSUB 100
  152. 1690 FOR J=0 TO SIZE
  153. 1700 IN(J) =1E+06
  154. 1710 NEXT J
  155. 1720 PRINT "ENTER ESTIMATE OF THE CURRENT INFLATION RATE TO CALCULATE"
  156. 1730 PRINT "THE COST OF THE LOAN IN TODAY'S DOLLARS.  Enter S to skip this feature"
  157. 1740 PRINT "(Example: 6% inflation entered as 6)
  158. 1750 PRINT "
  159. 1760 INPUT "ENTER INFLATION ESTIMATE--> ", K$
  160. 1770 IF K$=CHR$(83) OR K$ = CHR$(115) THEN IN(1)=0: GOTO 1910
  161. 1780 IN(1)=VAL(K$)
  162. 1790 PRINT
  163. 1800 PRINT "IF YOU THINK INFLATION WILL CHANGE IN A FUTURE YEAR OR YEARS
  164. 1810 PRINT "ENTER THE YEAR AND NEW RATE."
  165. 1820 PRINT "Enter S for year when finished."
  166. 1830 PRINT
  167. 1840 INPUT "YEAR--> ", K$
  168. 1850 IF K$ = CHR$(83) OR K$ = CHR$(115) THEN 1910
  169. 1860 K=VAL(K$)
  170. 1870 IF INT(K)<>K OR K<=0 THEN PRINT "YEAR MUST BE A POSITIVE INTEGER, TRY AGAIN":GOTO 1840
  171. 1880 IF K>SIZE THEN PRINT "MAXIMUM VALUE =    "SIZE   "RE-ENTER":GOTO 1840
  172. 1890 INPUT "INFLATION RATE--> ", IN(K)
  173. 1900 GOTO 1840
  174. 1910 PRINT
  175. 1920 PRINT
  176. 1930 J=2
  177. 1940 IF IN(J)=1E+06 THEN IN(J) = IN(J-1)
  178. 1950 IF J=SIZE THEN 1980
  179. 1960 J = J+1
  180. 1970 GOTO 1940
  181. 1980 IF B<>0 THEN 2220
  182. 1990 PRINT
  183. 2000 PRINT
  184. 2010 PRINT "STANDBY"
  185. 2030 B1$="###"
  186. 2040 B3$="    ##.##"
  187. 2050 B5$="  ##.###"
  188. 2060 B6$=" ##.## "
  189. 2070 B7$="$$###,###.##"
  190. 2080 B8$="$$#,###.##"
  191. 2090 B9$="$$###,###,###.##"
  192. 2100 C3$="$$##,###,###.##"
  193. 2110 C4$="$$#,###,###.## "
  194. 2120 C6$="  $$###,###,###.## "
  195. 2130 C7$="$$#,###,###.##"
  196. 2140 D3$="  $$##,###,###.##"
  197. 2150 D4$="    $$##,###,###.##"
  198. 2160 E1$="      $$##,###,###.##"
  199. 2170 F3$="$$##,###,###"
  200. 2180 F4$="$$##,###,### "
  201. 2190 F5$="##"
  202. 2220 ITEST = 0
  203. 2230 B=1 
  204. 2250 GOSUB 100
  205. 2260 PRINT "TYPE NUMBER TO DISPLAY CURRENT INPUTS"
  206. 2270 PRINT
  207. 2280 PRINT "1  AMORTIZATION PERIOD (LENGTH) OF LOAN"
  208. 2290 PRINT "2  PRINCIPAL AMOUNT"
  209. 2300 PRINT "3  INTEREST RATE"
  210. 2310 PRINT "4  TAX BRACKET SCHEDULE"
  211. 2320 PRINT "5  LOAN POINTS DEDUCTIBLE IN FIRST YEAR (New Loan)"
  212. 2330 PRINT "6  LOAN POINTS TO BE DEDUCTED OVER LENGTH OF LOAN (Refinance)"
  213. 2340 PRINT "7  DIRECT COSTS (non-deductible)"
  214. 2350 PRINT "8  INFLATION RATE ESTIMATE"
  215. 2360 PRINT
  216. 2370 PRINT "C  TO CHANGE ANY OF THE INPUTS"
  217. 2380 PRINT
  218. 2390 PRINT "P  COMPUTE RESULTS AND SEND OUTPUT TO PRINTER"
  219. 2400 PRINT "S  COMPUTE RESULTS AND SEND OUTPUT TO SCREEN"
  220. 2410 PRINT
  221. 2420 PRINT "X  EXIT PROGRAM AND RETURN TO OPERATING SYSTEM"
  222. 2430 PRINT
  223. 2440 PRINT 
  224. 2450 PRINT "ENTER SELECTION (Your choice)"
  225. 2460 PRINT
  226. 2470 K$ = INKEY$
  227. 2480 IF K$="1" THEN 2750
  228. 2490 IF K$="2" THEN 2860
  229. 2500 IF K$="3" THEN 2960
  230. 2510 IF K$="4" THEN 3070
  231. 2520 IF K$="5" THEN 3180
  232. 2530 IF K$="6" THEN 3290
  233. 2540 IF K$="7" THEN 3400
  234. 2550 IF K$="8" THEN 3510
  235. 2560 IF K$="P" OR K$="p" THEN 3930
  236. 2570 IF K$="S" OR K$="s" THEN ITEST = 1 : GOTO 3930
  237. 2580 IF K$="X" OR K$="x" THEN 5780
  238. 2590 IF K$="C" OR K$="c" THEN 2610
  239. 2600 GOTO 2470
  240. 2610 PRINT
  241. 2620 PRINT "ENTER NUMBER OF DESIRED INPUT TO CHANGE (1-8)"
  242. 2630 PRINT "(Hit escape key to return to menu)"
  243. 2640 K$=INKEY$
  244. 2650 IF K$="1" THEN 390
  245. 2660 IF K$="2" THEN 480
  246. 2670 IF K$="3" THEN 510
  247. 2680 IF K$="4" THEN 780
  248. 2690 IF K$="5" THEN 1070
  249. 2700 IF K$="6" THEN 1280
  250. 2710 IF K$="7" THEN 1490
  251. 2720 IF K$="8" THEN 1670
  252. 2730 IF K$=CHR$(27) THEN 2250
  253. 2740 GOTO 2640
  254. 2750 GOSUB 100
  255. 2770 PRINT
  256. 2780 PRINT
  257. 2790 PRINT "THE CURRENT SETTING OF THE AMORTIZATION PERIOD IS ";KYEARS;" YEARS."
  258. 2800 PRINT
  259. 2810 PRINT
  260. 2820 PRINT
  261. 2830 PRINT "HIT ANY KEY TO CONTINUE"
  262. 2840 K$=INKEY$:IF LEN(K$)= 0 THEN 2840
  263. 2850 GOTO 2250
  264. 2860 GOSUB 100
  265. 2870 PRINT "LOAN PRINCIPAL AMOUNT EQUALS $";PR(0)
  266. 2880 PRINT
  267. 2890 PRINT
  268. 2900 PRINT
  269. 2910 PRINT "HIT ANY KEY TO CONTINUE"
  270. 2920 K$=INKEY$: IF LEN(K$)=0 THEN 2920
  271. 2930 GOTO 2250
  272. 2960 BS=14
  273. 2970 F2$="##.###       "
  274. 2980 GOSUB 100
  275. 2990 PRINT "LOAN INTEREST RATE SCHEDULE"
  276. 3000 PRINT
  277. 3010 FOR I=1 TO SIZE
  278. 3020 TEMP(I) = LO(I)
  279. 3030 NEXT I
  280. 3040 GOSUB 3640
  281. 3050 GOTO 2250
  282. 3070 F2$="##.#         "
  283. 3080 GOSUB 100
  284. 3090 BS=12
  285. 3100 PRINT "TAX BRACKET SCHEDULE"
  286. 3110 PRINT
  287. 3120 FOR I=1 TO SIZE
  288. 3130 TEMP(I) = TA(I)
  289. 3140 NEXT I
  290. 3150 GOSUB 3640
  291. 3160 GOTO 2250
  292. 3180 F2$="##.##        "
  293. 3190 BS=13
  294. 3200 GOSUB 100
  295. 3210 PRINT "POINTS THAT ARE DEDUCTIBLE IN FIRST YEAR OF LOAN"
  296. 3220 PRINT
  297. 3230 FOR I=1 TO SIZE
  298. 3240 TEMP(I) = PO(I)
  299. 3250 NEXT I
  300. 3260 GOSUB 3640
  301. 3270 GOTO 2250
  302. 3290 F2$="##.##        "
  303. 3300 BS=13
  304. 3310 GOSUB 100
  305. 3320 PRINT "POINTS THAT MUST BE DEDUCTED OVER LENGTH OF LOAN"
  306. 3330 PRINT
  307. 3340 FOR I=1 TO SIZE
  308. 3350 TEMP(I) = P2(I)
  309. 3360 NEXT I
  310. 3370 GOSUB 3640
  311. 3380 GOTO 2250
  312. 3400 F2$="#####        "
  313. 3410 GOSUB 100
  314. 3420 BS=13
  315. 3430 PRINT "LOAN DIRECT COSTS"
  316. 3440 PRINT
  317. 3450 FOR I=1 TO SIZE
  318. 3460 TEMP(I) = DI(I)
  319. 3470 NEXT I
  320. 3480 GOSUB 3640
  321. 3490 GOTO 2250
  322. 3510 F2$="##.##        "
  323. 3520 BS=13
  324. 3530 GOSUB 100
  325. 3540 PRINT "INFLATION RATE SCHEDULE"
  326. 3550 PRINT
  327. 3560 FOR I=1 TO SIZE
  328. 3570 TEMP(I) = IN(I)
  329. 3580 NEXT I
  330. 3590 GOSUB 3640
  331. 3600 GOTO 2250
  332. 3610 STOP
  333. 3640 PRINT "YEAR    VALUE        YEAR    VALUE        YEAR    VALUE"
  334. 3650 JSUB=1
  335. 3660 F1$=" ##     "
  336. 3670 IF KYEARS <=20 THEN 3700 
  337. 3680 IF KYEARS <=40 THEN 3750
  338. 3690 GOTO 3810
  339. 3700 PRINT USING F1$;JSUB;:PRINT USING F2$;TEMP(JSUB)
  340. 3710 IF JSUB = KYEARS THEN 3870
  341. 3720 IF JSUB = 20 THEN 3870
  342. 3730 JSUB=JSUB+1
  343. 3740 GOTO 3700
  344. 3750 PRINT USING F1$;JSUB;:PRINT USING F2$;TEMP(JSUB);:PRINT USING F1$;JSUB+20;:PRINT USING F2$;TEMP(JSUB+20)
  345. 3760 IF JSUB + 20 = KYEARS THEN 3770 ELSE 3780
  346. 3770 IF KYEARS = 40 THEN 3870 ELSE JSUB = JSUB + 1:GOTO 3700
  347. 3780 IF JSUB + 20 = 40 THEN 3870
  348. 3790 JSUB = JSUB + 1
  349. 3800 GOTO 3750
  350. 3810 PRINT USING F1$;JSUB;:PRINT USING F2$;TEMP(JSUB);: PRINT USING F1$;JSUB + 20;:PRINT USING F2$;TEMP(JSUB+20);: PRINT USING F1$;JSUB + 40;:PRINT USING F2$;TEMP(JSUB + 40)
  351. 3820 IF JSUB + 40 = KYEARS THEN 3830 ELSE 3840
  352. 3830 IF KYEARS = 60 THEN 3870 ELSE JSUB = JSUB + 1:GOTO 3750
  353. 3840 IF JSUB + 40 = INT(SIZE) THEN 3870
  354. 3850 JSUB = JSUB + 1
  355. 3860 GOTO 3810
  356. 3870 PRINT "HIT ANY KEY TO CONTINUE";
  357. 3880 K$=INKEY$: IF LEN(K$)=0 THEN 3880
  358. 3890 RETURN
  359. 3930 PRINT 
  360. 3940 PRINT
  361. 3950 IF ITEST=1 THEN 3990
  362. 3960 PRINT "ENTER OPTIONAL TITLE"
  363. 3970 LINE INPUT "(44 characters maximum)----------->",A$
  364. 3980 IF LEN(A$)>44 THEN PRINT "TOO LONG, RE-ENTER":GOTO 3960
  365. 3990 PRINT
  366. 4000 PRINT "PLEASE WAIT"
  367. 4010 J=1
  368. 4020 X1(0)=0:X2(0)=0:X3(0)=0:X4(0)=0:Z2=0
  369. 4030 NPERIODS = KYEARS * 12
  370. 4050 PA (J) = (PR (J-1) * ((LO(J))/1200)) / ( 1 -((1+(LO(J)/1200))  ^(-NPERIODS)))
  371. 4070 PR(J) = ( 1 / (( 1 + ( LO(J) / 1200 )) ^(-12))) * (( PA(J)) * (((( 1 + ( LO(J)/1200)) ^(-12) ) -1) / ( LO(J) / 1200 )) + ( PR(J-1) ))
  372. 4090 PP(J) = PR(J-1) - PR(J)
  373. 4110 ZL(J) = (PA(J) * 12) - PP(J)
  374. 4130 ZP(J) = PR(J-1) * ( ( PO(J) + P2(J) ) /100 )
  375. 4150 Z3 = Z2 + (P2(J)/(100* (KYEARS-(J-1))))*(PR(J-1))
  376. 4170 Z4(J) = Z3 + PR(J-1) * ((PO(J))/100)
  377. 4180 Z2=Z3
  378. 4200 ZT(J) = ZP(J) + ZL (J)
  379. 4220 TX(J) = (Z4(J) + ZL(J)) * (  ( TA(J))/100  )
  380. 4240 CU = ZT(J) - TX(J) + DI(J)
  381. 4260 CO(J) = ZT(J) - TX(J) + PP(J) + DI (J)
  382. 4280 IL(0) = 1
  383. 4290 IL(J) = IL(J-1) * (1 + ((IN(J))/100) )
  384. 4300 X1(J) = X1(J-1) + CO(J)
  385. 4310 CY(J) = (CO(J)) / IL(J)
  386. 4320 X2(J) = X2(J-1) + CY(J)
  387. 4330 X3(J) = X3(J-1) + CU   
  388. 4340 CV    = (CU) / IL(J)   
  389. 4350 X4(J) = X4(J-1) + CV
  390. 4360 J=J+1
  391. 4370 IF J=KXYEARS THEN 4450
  392. 4380 IF LO(J) = LO (J-1) THEN 4400
  393. 4390 GOTO 4420
  394. 4400 PA(J) = PA(J-1)
  395. 4410 GOTO 4070
  396. 4420 NPERIODS = (KYEARS - (J-1)) * 12
  397. 4430 GOTO 4050
  398. 4450 IF ITEST = 1 THEN 5110
  399. 4470 PRINT "YOU SHOULD BE GETTING OUTPUT NOW"
  400. 4480 LPRINT "MORTCOST     version 3.0           ";A$
  401. 4490 LPRINT
  402. 4500 LPRINT "ABBREVIATIONS                                 LOAN AMOUNT  ";:LPRINT USING B9$;PR(0)
  403. 4510 LPRINT "FEY = FOR ENTIRE YEAR";:LPRINT "    
  404. 4520 LPRINT "SOY = AT START OF YEAR"
  405. 4530 LPRINT "EOY = AT END OF YEAR"
  406. 4540 LPRINT
  407. 4550 H1=0: H2=0
  408. 4560 LPRINT "YEAR TAX BRKT  INFL  LOAN %   SOY POINTS      $POINTS   $DIRECT    MONTHLY PMT."
  409. 4570 LPRINT "        FEY    FEY     FEY   ORIG.  REFIN.        SOY       SOY            FEY"
  410. 4580 LPRINT
  411. 4590 K=1
  412. 4600 LPRINT USING B1$;K;:LPRINT TAB(8) USING B1$;TA(K);:LPRINT USING B3$;IN(K);:LPRINT USING B5$;LO(K);:LPRINT USING B6$;PO(K);:LPRINT USING B6$;P2(K);:LPRINT USING B7$;ZP(K);:LPRINT USING B8$;DI(K);:LPRINT USING B9$;PA(K)
  413. 4610 H1 = H1 + ZP(K)
  414. 4620 H2 = H2 + DI(K)
  415. 4630 K = K + 1
  416. 4640 IF K = KXYEARS THEN 4660
  417. 4650 GOTO 4600
  418. 4660 LPRINT "-------------------------------------------------------------------------------"
  419. 4670 LPRINT TAB(39) USING C3$;H1;:LPRINT USING B8$;H2
  420. 4680 H3=0: H4=0: H5=0: H6=0
  421. 4690 K = 1
  422. 4700 LPRINT
  423. 4710 LPRINT
  424. 4720 LPRINT "YEAR  LOAN INTEREST   DEDUCT. PTS.   TAX DEDUCT.  PRINCIPAL PAID     PRIN. LEFT"
  425. 4730 LPRINT "           FEY            FEY             EOY         FEY                 EOY"
  426. 4740 LPRINT
  427. 4750 H3 = H3 + ZL(K)
  428. 4760 H4 = H4 + Z4(K)
  429. 4770 H5 = H5 + TX(K)
  430. 4780 H6 = H6 + PP(K)
  431. 4790 LPRINT USING B1$;K;:LPRINT USING C3$;ZL(K);Z4(K);TX(K);:LPRINT USING C4$;PP(K);:LPRINT USING B9$;PR(K)
  432. 4800 K = K+1
  433. 4810 IF K = KXYEARS THEN 4830
  434. 4820 GOTO 4750
  435. 4830 LPRINT"-------------------------------------------------------------------------------"
  436. 4840 LPRINT USING C6$;H3;:LPRINT USING C7$;H4;:LPRINT USING C3$;H5;:LPRINT USING C7$;H6
  437. 4850 LPRINT
  438. 4860 LPRINT
  439. 4870 G3=0: G4=0
  440. 4880 K=1
  441. 4890 LPRINT "YEAR|   ANNUAL LOAN COST    |   CUMULATIVE LOAN COST  |   CUM. COST MINUS "
  442. 4900 LPRINT "    | (INCLUDES TAX BENEFIT)|                         |   PRINCIPAL PAYMENTS"
  443. 4910 LPRINT "    |             ADJ. FOR  |              ADJ. FOR   |               ADJ. FOR"
  444. 4920 LPRINT "    |  NOMINAL   INFLATION  |   NOMINAL   INFLATION   |   NOMINAL    INFLATION"
  445. 4930 LPRINT
  446. 4940 G3 = G3 + CO(K)
  447. 4950 G4 = G4 + CY(K)
  448. 4960 LPRINT USING F5$;K;:LPRINT USING F3$;CO(K);:LPRINT USING F4$;CY(K);:LPRINT USING F3$;X1(K);:LPRINT USING F4$;X2(K);:LPRINT USING F4$;X3(K);:LPRINT USING F3$;X4(K)
  449. 4970 K = K+1
  450. 4980 IF K=KXYEARS THEN 5000
  451. 4990  GOTO 4940
  452. 5000 LPRINT "_______________________________________________________________________________"
  453. 5010 LPRINT
  454. 5020 LPRINT "TOTAL LOAN COST  W/O INFLATION =";:LPRINT USING B9$;G3
  455. 5030 LPRINT "TOTAL LOAN COST WITH INFLATION =";:LPRINT USING B9$;G4
  456. 5040 FOR J6=1 TO 10
  457. 5050 LPRINT
  458. 5060 NEXT J6
  459. 5070 GOTO 2220
  460. 5110 ITEST = 0
  461. 5120 GOSUB 100
  462. 5130 PRINT CHR$(7)
  463. 5140 PRINT "OUTPUT READY.  HIT ANY KEY TO START OR STOP DISPLAY."
  464. 5150 K$=INKEY$:IF LEN(K$)= 0 THEN 5150:ELSE 5160
  465. 5155 K$=INKEY$:IF LEN(K$)= 0 THEN RETURN:ELSE 5156:
  466. 5156 A$=INKEY$:IF LEN(A$)= 0 THEN 5156:ELSE RETURN:
  467. 5160 GOSUB 100
  468. 5170 PRINT "MORTCOST     version 3.0"
  469. 5180 PRINT
  470. 5190 PRINT "ABBREVIATIONS                                 LOAN AMOUNT  ";:PRINT USING B9$;PR(0)
  471. 5200 PRINT "FEY = FOR ENTIRE YEAR"
  472. 5210 PRINT "SOY = AT START OF YEAR"
  473. 5220 PRINT "EOY = AT END OF YEAR"
  474. 5230 PRINT
  475. 5240 H1=0: H2=0
  476. 5250 PRINT "YEAR TAX BRKT  INFL  LOAN %   SOY POINTS      $POINTS   $DIRECT    MONTHLY PMT."
  477. 5260 PRINT "        FEY    FEY     FEY   ORIG.  REFIN.        SOY       SOY            FEY"
  478. 5270 PRINT
  479. 5280 K=1
  480. 5290 PRINT USING B1$;K;:PRINT TAB(8) USING B1$;TA(K);:PRINT USING B3$;IN(K);:PRINT USING B5$;LO(K);:PRINT USING B6$;PO(K);:PRINT USING B6$;P2(K);:PRINT USING B7$;ZP(K);:PRINT USING B8$;DI(K);:PRINT USING B9$;PA(K)
  481. 5295 GOSUB 5155
  482. 5300 H1 = H1 + ZP(K)
  483. 5310 H2 = H2 + DI(K)
  484. 5320 K = K + 1
  485. 5330 IF K = KXYEARS THEN 5350
  486. 5340 GOTO 5290
  487. 5350 PRINT "-------------------------------------------------------------------------------"
  488. 5360 PRINT TAB(39) USING C3$;H1;:PRINT USING B8$;H2
  489. 5370 H3=0: H4=0: H5=0: H6=0
  490. 5380 K = 1
  491. 5390 PRINT
  492. 5400 PRINT
  493. 5410 PRINT "YEAR  LOAN INTEREST   DEDUCT. PTS.   TAX DEDUCT.  PRINCIPAL PAID     PRIN. LEFT"
  494. 5420 PRINT "           FEY            FEY             EOY         FEY                 EOY"
  495. 5430 PRINT
  496. 5440 H3 = H3 + ZL(K)
  497. 5450 H4 = H4 + Z4(K)
  498. 5460 H5 = H5 + TX(K)
  499. 5470 H6 = H6 + PP(K)
  500. 5480 PRINT USING B1$;K;:PRINT USING C3$;ZL(K);Z4(K);TX(K);:PRINT USING C4$;PP(K);:PRINT USING B9$;PR(K)
  501. 5485 GOSUB 5155
  502. 5490 K = K+1
  503. 5500 IF K = KXYEARS THEN 5520
  504. 5510 GOTO 5440
  505. 5520 PRINT"-------------------------------------------------------------------------------"
  506. 5530 PRINT USING C6$;H3;:PRINT USING C7$;H4;:PRINT USING C3$;H5;:PRINT USING C7$;H6
  507. 5540 PRINT
  508. 5550 PRINT
  509. 5560 G3=0: G4=0
  510. 5570 K=1
  511. 5580 PRINT "YEAR|   ANNUAL LOAN COST    |   CUMULATIVE LOAN COST  |   CUM. COST MINUS "
  512. 5590 PRINT "    | (INCLUDES TAX BENEFIT)|                         |   PRINCIPAL PAYMENTS"
  513. 5600 PRINT "    |             ADJ. FOR  |              ADJ. FOR   |               ADJ. FOR"
  514. 5610 PRINT "    |  NOMINAL   INFLATION  |   NOMINAL   INFLATION   |   NOMINAL    INFLATION"
  515. 5620 PRINT
  516. 5630 G3 = G3 + CO(K)
  517. 5640 G4 = G4 + CY(K)
  518. 5650 PRINT USING F5$;K;:PRINT USING F3$;CO(K);:PRINT USING F4$;CY(K);:PRINT USING F3$;X1(K);:PRINT USING F4$;X2(K);:PRINT USING F4$;X3(K);:PRINT USING F3$;X4(K)
  519. 5660 K=K+1
  520. 5665 GOSUB 5155
  521. 5670 IF K=KXYEARS THEN 5690
  522. 5680 GOTO 5630
  523. 5690 PRINT "_______________________________________________________________________________"
  524. 5700 PRINT
  525. 5710 PRINT "TOTAL LOAN COST  W/O INFLATION =";:PRINT USING B9$;G3
  526. 5720 PRINT "TOTAL LOAN COST WITH INFLATION =";:PRINT USING B9$;G4
  527. 5730 PRINT
  528. 5740 PRINT "HIT SPACEBAR TO CONTINUE
  529. 5750 K$=INKEY$:IF LEN(K$)= 0 THEN 5750 
  530. 5760 IF ASC(K$)<>32 THEN 5750
  531. 5770 GOTO 2220
  532. 5780 PRINT 
  533. 5790 PRINT
  534. 5800 PRINT "***CAUTION***
  535. 5810 PRINT 
  536. 5820 PRINT "ARE YOU SURE THAT YOU WANT TO EXIT PROGRAM? (Y/N)"
  537. 5830 K$=INKEY$ :IF K$ = "Y" OR K$ = "y" THEN 5860
  538. 5840 IF K$ = "N" OR K$ = "n" THEN 2220
  539. 5850 GOTO 5830
  540. 5860 SYSTEM
  541. 5870 END
  542. 
  543. 5610 PRINT "    |  NOMINAL   INFLATION  |   NOMINAL   INFLATION   |   NOMINAL    INFL